﻿using System;
using Sinacor.Infra.Common;
using System.Collections.Generic;
using Sinacor.Servico.Bovespa.Cliente.BusinessEntity;
using Sinacor.Servico.Bovespa.Cliente.Service.DataContract.Response;

namespace Sinacor.Servico.Bovespa.Cliente.Service.ServiceImplementation.Translator.BusinessEntityToDataContract
{
    public class Correspondente
    {

        public Service.DataContract.Response.CorrespondenteResponse ToCorrespondenteResponse(BusinessEntity.Correspondente correspondente)
        {
            Service.DataContract.Response.CorrespondenteResponse to = new Service.DataContract.Response.CorrespondenteResponse();
            to.Codigo = correspondente.Codigo;
            to.CodigoMembro = correspondente.CodigoMembroBovespa;
            to.CodigoMembroBovespa = correspondente.CodigoMembroBovespa;
            to.IndicadorBroker = correspondente.IndicadorBroker;
            to.Nome = correspondente.Nome;
            to.NomeResumidoCorrespondente = correspondente.NomeResumidoCorrespondente;
            to.PercentualComissao = correspondente.PercentualComissao;
            to.PercentualDevolucao = (correspondente.PercentualComissao == null ? 0 : (decimal)correspondente.PercentualComissao);
            return to;
        }

        public List<Service.DataContract.Response.CorrespondenteResponse> ToCorrespondenteResponse(List<BusinessEntity.Correspondente> correspondentes)
        {
            List<Service.DataContract.Response.CorrespondenteResponse> toLista = new List<CorrespondenteResponse>();
            foreach (BusinessEntity.Correspondente item in correspondentes)
            {
                toLista.Add(ToCorrespondenteResponse(item));
            }
            return toLista;
        }
    }
}
